home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / 2.01 sources / Library-2.01 / Interfaces / ENET.lisp < prev    next >
Encoding:
Text File  |  1993-09-16  |  4.1 KB  |  122 lines  |  [TEXT/CCL2]

  1.  
  2. (in-package :traps)             ; 
  3. ; Created: Thursday, October 4, 1990 at 8:00 AM
  4. ;     ENET.p
  5. ;     Pascal Interface to the Macintosh Libraries
  6. ;     Copyright Apple Computer, Inc. 1989-1990
  7. ;     All rights reserved
  8.  
  9. ;;;;;;;;;;;;;
  10. ;
  11. ; Modification History
  12. ;
  13. ; 04/28/93 mwp Release
  14. ; 08/10/92 bill thepbptr -> pb in all traps
  15.  
  16. ; $IFC UNDEFINED UsingIncludes
  17. ; $SETC UsingIncludes := 0
  18. ; $ENDC
  19.  
  20. ; $IFC NOT UsingIncludes
  21.  
  22. ; $ENDC
  23.  
  24. ; $IFC UNDEFINED UsingENET
  25. ; $SETC UsingENET := 1
  26.  
  27. ; $I+
  28. ; $SETC ENETIncludes := UsingIncludes
  29. ; $SETC UsingIncludes := 1
  30. ; $IFC UNDEFINED UsingTypes
  31.  
  32. (require-interface 'TYPES)      ; $I $$Shell(PInterfaces)Types.p
  33. ; $ENDC
  34. ; $IFC UNDEFINED UsingOSUtils
  35.  
  36. (require-interface 'OSUTILS)    ; $I $$Shell(PInterfaces)OSUtils.p
  37. ; $ENDC
  38. ; $SETC UsingIncludes := ENETIncludes
  39.  
  40. (defconstant $ENetSetGeneral 253); Set "general" mode
  41. (defconstant $ENetGetInfo 252)  ; Get info
  42. (defconstant $ENetRdCancel 251) ; Cancel read
  43. (defconstant $ENetRead 250)     ; Read
  44. (defconstant $ENetWrite 249)    ; Write
  45. (defconstant $ENetDetachPH 248) ; Detach protocol handler
  46. (defconstant $ENetAttachPH 247) ; Attach protocol handler
  47. (defconstant $ENetAddMulti 246) ; Add a multicast address
  48. (defconstant $ENetDelMulti 245) ; Delete a multicast address
  49.  
  50. (defconstant $eLenErr -92)      ; Length error ddpLenErr
  51. (defconstant $eMultiErr -91)    ; Multicast address error ddpSktErr
  52.  
  53. (defconstant $EAddrRType :|eadr|); Alternate address resource type
  54.  
  55. (def-mactype :eparamblkptr (find-mactype :pointer))
  56. (defrecord EParamBlock 
  57.    (qLink (:pointer :qelem))    ; next queue entry
  58.    (qType :signed-integer)      ; queue type
  59.    (ioTrap :signed-integer)     ; routine trap
  60.    (ioCmdAddr :pointer)         ; routine address
  61.    (ioCompletion :pointer)      ; completion routine
  62.    (ioResult :signed-integer)   ; result code
  63.    (ioNamePtr (:pointer (:string 255))); ->filename
  64.    (ioVRefNum :signed-integer)  ; volume reference or drive number
  65.    (ioRefNum :signed-integer)   ; driver reference number
  66.    (csCode :signed-integer)     ; call command code AUTOMATICALLY set
  67.    (:variant 
  68.  
  69.       ((eProtType :signed-integer); Ethernet protocol type
  70.       (ePointer :pointer)
  71.       (eBuffSize :signed-integer); buffer size
  72.       (eDataSize :signed-integer)); number of bytes read
  73.  
  74.       ((eMultiAddr (:array :character 6))); Multicast Address
  75.       ))
  76.  
  77.  
  78.  
  79. (deftrap _ewrite ((pb (:pointer :eparamblock)) (async :boolean))
  80.    (:d0 :signed-integer)
  81.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 249) pb)))
  82.  
  83. (deftrap _eattachph ((pb (:pointer :eparamblock)) (async :boolean))
  84.    (:d0 :signed-integer)
  85.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 247) pb)))
  86.  
  87. (deftrap _edetachph ((pb (:pointer :eparamblock)) (async :boolean))
  88.    (:d0 :signed-integer)
  89.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 248) pb)))
  90.  
  91. (deftrap _eread ((pb (:pointer :eparamblock)) (async :boolean))
  92.    (:d0 :signed-integer)
  93.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 250) pb)))
  94.  
  95. (deftrap _erdcancel ((pb (:pointer :eparamblock)) (async :boolean))
  96.    (:d0 :signed-integer)
  97.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 251) pb)))
  98.  
  99. (deftrap _egetinfo ((pb (:pointer :eparamblock)) (async :boolean))
  100.    (:d0 :signed-integer)
  101.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 252) pb)))
  102.  
  103. (deftrap _esetgeneral ((pb (:pointer :eparamblock)) (async :boolean))
  104.    (:d0 :signed-integer)
  105.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 253) pb)))
  106.  
  107. (deftrap _eaddmulti ((pb (:pointer :eparamblock)) (async :boolean))
  108.    (:d0 :signed-integer)
  109.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 246) pb)))
  110.  
  111. (deftrap _edelmulti ((pb (:pointer :eparamblock)) (async :boolean))
  112.    (:d0 :signed-integer)
  113.    (:register-trap #xA004 :a0 (progn (setf (ccl:rref pb :eparamblock.cscode) 245) pb)))
  114. ; $ENDC
  115.  
  116.  
  117. (export '($eaddrrtype $emultierr $elenerr $enetdelmulti $enetaddmulti
  118.           $enetattachph $enetdetachph $enetwrite $enetread $enetrdcancel
  119.           $enetgetinfo $enetsetgeneral))
  120. (provide-interface 'ENET)